From 1821da0c9b12d28d857abe29713b78f4bdfa30ef Mon Sep 17 00:00:00 2001 From: "iap10@tetris.cl.cam.ac.uk" Date: Fri, 6 Aug 2004 15:55:31 +0000 Subject: [PATCH] bitkeeper revision 1.1159.1.5 (4113a9f3PDFYg7EjovC2RDHcOb74rA) 2.6 block device backend fix -- we weren't allowing whole disks to be exported. --- linux-2.6.7-xen-sparse/drivers/xen/blkback/vbd.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/linux-2.6.7-xen-sparse/drivers/xen/blkback/vbd.c b/linux-2.6.7-xen-sparse/drivers/xen/blkback/vbd.c index a180707ef4..765f467608 100644 --- a/linux-2.6.7-xen-sparse/drivers/xen/blkback/vbd.c +++ b/linux-2.6.7-xen-sparse/drivers/xen/blkback/vbd.c @@ -145,16 +145,20 @@ void vbd_grow(blkif_be_vbd_grow_t *grow) } /* XXXcl maybe bd_claim? */ - if ( (x->bdev->bd_disk == NULL) || (x->bdev->bd_part == NULL) ) + if ( (x->bdev->bd_disk == NULL) ) { DPRINTK("vbd_grow: device %08x doesn't exist.\n", x->extent.device); grow->status = BLKIF_BE_STATUS_EXTENT_NOT_FOUND; blkdev_put(x->bdev); goto out; } - - /* get size in sectors */ - sz = x->bdev->bd_part->nr_sects; + + /* get size in sectors */ + if ( x->bdev->bd_part ) + sz = x->bdev->bd_part->nr_sects; + else + sz = x->bdev->bd_disk->capacity; + #else if( !blk_size[MAJOR(x->extent.device)] ) { -- 2.30.2